home *** CD-ROM | disk | FTP | other *** search
- #include <stdlib.h>
- #include <string.h>
-
- void *realloc(void *old,size_t nsize)
- {
- size_t osize;void *new;
- union _mheader *mp;
- if(!old) return(malloc(nsize));
- mp=(union _mheader *)old;
- mp--;
- osize=(mp->s.size-1)*sizeof(union _mheader);
- if(new=malloc(nsize)){
- memcpy(new,old,osize>nsize ? nsize:osize);
- free(old);
- }
- return(new);
- }
-
-